package br.com.gip.business;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import br.com.gip.repository.model.Artefato;
import br.com.gip.repository.model.Categoria;
import br.com.gip.repository.model.Projeto;

public interface ArtefatoBusiness extends Serializable {

	void cadastrarArtefato(Artefato artefato);
	
	void atualizarArtefato(Artefato artefato);
	
	void removerArtefato(Artefato artefato);
	
	Artefato bucarArtefato(String nome);
	
	Map<Categoria, List<Artefato>> buscarArtefatos(Projeto projeto);
	
	List<Artefato> buscarArtefatos(String nome, Long projetoId, Long categoriaId);
	
	boolean verificaRestricao(Artefato artefato);
	
}
